package com.meilai.project.entity.business.intentionScheme;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author xchen
 * @since 2022-02-27
 */
@Data
@TableName("intention_scheme")
@ApiModel(value = "IntentionScheme对象", description = "")
public class IntentionScheme {

    public static final String PLAN_NAME = "plan_name";
    public static final String PLAN_TYPE = "plan_type";
    public static final String CUSTOMER_ID = "customer_id";
    public static final String CHOOSE_ID = "choose_id";
    public static final String MEMO = "memo";
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("主键 ID")
    @TableId(type = IdType.AUTO)
    private Long id;
    @ApiModelProperty(value = "方案名称")
    private String plan_name;
    @ApiModelProperty(value = "方案类型")
    private Integer plan_type;
    @ApiModelProperty("关联单据类型：1：合同，2：销售单")
    private Integer related_type;
    @ApiModelProperty("单据类型对应的ID")
    private Long related_id;
    @ApiModelProperty("当related_type为合同时，与related_id相同，如果related_type是销售单时，则是这个销售单对应的原始合同id")
    private Long related_contract_id;
    @ApiModelProperty(value = "客户ID")
    private Long customer_id;
    @ApiModelProperty(value = "客户ID")
    private Long seller_id;
    @ApiModelProperty(value = "点位选择ID")
    private Long choose_id;
    @ApiModelProperty(value = "处理状态,1:未锁定，2：锁定")
    private int process_status;
    @ApiModelProperty(value = "备注")
    private String memo;
    @ApiModelProperty("预期锁定的点数量")
    private Integer lock_count;
    @ApiModelProperty("锁定用户id")
    private Long lock_user_id;
    @ApiModelProperty("锁定时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:ss:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm")
    private LocalDateTime lock_datetime;
    @ApiModelProperty("是否已经推送 0：未推送 1：已推送")
    private Integer is_push;
    @ApiModelProperty("1:启用，2:禁用")
    private int status;
    @ApiModelProperty("1：普通类型 2：换画类型")
    private Integer type;
    @TableField(fill = FieldFill.UPDATE)
    private Integer mode = 0;

}
